home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.awt.AWTEvent;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.LayoutManager;
- import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.event.InputEvent;
- import java.awt.event.MouseEvent;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Stack;
- import java.util.Vector;
- import javax.accessibility.Accessible;
- import javax.accessibility.AccessibleContext;
- import javax.accessibility.AccessibleState;
- import javax.swing.event.TreeExpansionEvent;
- import javax.swing.event.TreeExpansionListener;
- import javax.swing.event.TreeModelListener;
- import javax.swing.event.TreeSelectionEvent;
- import javax.swing.event.TreeSelectionListener;
- import javax.swing.event.TreeWillExpandListener;
- import javax.swing.plaf.TreeUI;
- import javax.swing.tree.DefaultMutableTreeNode;
- import javax.swing.tree.DefaultTreeModel;
- import javax.swing.tree.DefaultTreeSelectionModel;
- import javax.swing.tree.ExpandVetoException;
- import javax.swing.tree.TreeCellEditor;
- import javax.swing.tree.TreeCellRenderer;
- import javax.swing.tree.TreeModel;
- import javax.swing.tree.TreeNode;
- import javax.swing.tree.TreePath;
- import javax.swing.tree.TreeSelectionModel;
-
- public class JTree extends JComponent implements Scrollable, Accessible {
- private static final String uiClassID = "TreeUI";
- protected transient TreeModel treeModel;
- protected transient TreeSelectionModel selectionModel;
- protected boolean rootVisible;
- protected transient TreeCellRenderer cellRenderer;
- protected int rowHeight;
- private transient Hashtable expandedState;
- protected boolean showsRootHandles;
- protected transient TreeSelectionRedirector selectionRedirector;
- protected transient TreeCellEditor cellEditor;
- protected boolean editable;
- protected boolean largeModel;
- protected int visibleRowCount;
- protected boolean invokesStopCellEditing;
- protected boolean scrollsOnExpand;
- protected int toggleClickCount;
- protected transient TreeModelListener treeModelListener;
- private transient Stack expandedStack;
- private static int TEMP_STACK_SIZE = 11;
- public static final String CELL_RENDERER_PROPERTY = "cellRenderer";
- public static final String TREE_MODEL_PROPERTY = "treeModel";
- public static final String ROOT_VISIBLE_PROPERTY = "rootVisible";
- public static final String SHOWS_ROOT_HANDLES_PROPERTY = "showsRootHandles";
- public static final String ROW_HEIGHT_PROPERTY = "rowHeight";
- public static final String CELL_EDITOR_PROPERTY = "cellEditor";
- public static final String EDITABLE_PROPERTY = "editable";
- public static final String LARGE_MODEL_PROPERTY = "largeModel";
- public static final String SELECTION_MODEL_PROPERTY = "selectionModel";
- public static final String VISIBLE_ROW_COUNT_PROPERTY = "visibleRowCount";
- public static final String INVOKES_STOP_CELL_EDITING_PROPERTY = "messagesStopCellEditing";
- public static final String SCROLLS_ON_EXPAND_PROPERTY = "scrollsOnExpand";
- // $FF: synthetic field
- static Class class$javax$swing$event$TreeExpansionListener;
- // $FF: synthetic field
- static Class class$javax$swing$event$TreeWillExpandListener;
- // $FF: synthetic field
- static Class class$javax$swing$event$TreeSelectionListener;
-
- public JTree() {
- this(getDefaultTreeModel());
- }
-
- public JTree(Hashtable var1) {
- this(createTreeModel(var1));
- this.setRootVisible(false);
- this.setShowsRootHandles(true);
- }
-
- public JTree(Vector var1) {
- this(createTreeModel(var1));
- this.setRootVisible(false);
- this.setShowsRootHandles(true);
- }
-
- public JTree(TreeModel var1) {
- this.expandedStack = new Stack();
- this.toggleClickCount = 2;
- this.expandedState = new Hashtable();
- ((Container)this).setLayout((LayoutManager)null);
- this.rowHeight = 16;
- this.visibleRowCount = 20;
- this.rootVisible = true;
- this.selectionModel = new DefaultTreeSelectionModel();
- this.cellRenderer = null;
- this.scrollsOnExpand = true;
- ((JComponent)this).setOpaque(true);
- this.updateUI();
- this.setModel(var1);
- }
-
- public JTree(TreeNode var1) {
- this(var1, false);
- }
-
- public JTree(TreeNode var1, boolean var2) {
- this((TreeModel)(new DefaultTreeModel(var1, var2)));
- }
-
- public JTree(Object[] var1) {
- this(createTreeModel(var1));
- this.setRootVisible(false);
- this.setShowsRootHandles(true);
- }
-
- // $FF: synthetic method
- static Hashtable access$0(JTree var0) {
- return var0.expandedState;
- }
-
- public void addSelectionInterval(int var1, int var2) {
- TreePath[] var3 = this.getPathBetweenRows(var1, var2);
- this.getSelectionModel().addSelectionPaths(var3);
- }
-
- public void addSelectionPath(TreePath var1) {
- this.makeVisible(var1);
- this.getSelectionModel().addSelectionPath(var1);
- }
-
- public void addSelectionPaths(TreePath[] var1) {
- if (var1 != null) {
- for(int var2 = var1.length - 1; var2 >= 0; --var2) {
- this.makeVisible(var1[var2]);
- }
- }
-
- this.getSelectionModel().addSelectionPaths(var1);
- }
-
- public void addSelectionRow(int var1) {
- int[] var2 = new int[]{var1};
- this.addSelectionRows(var2);
- }
-
- public void addSelectionRows(int[] var1) {
- TreeUI var2 = this.getUI();
- if (var2 != null && var1 != null) {
- int var3 = var1.length;
- TreePath[] var4 = new TreePath[var3];
-
- for(int var5 = 0; var5 < var3; ++var5) {
- var4[var5] = var2.getPathForRow(this, var1[var5]);
- }
-
- this.addSelectionPaths(var4);
- }
-
- }
-
- public void addTreeExpansionListener(TreeExpansionListener var1) {
- super.listenerList.add(class$javax$swing$event$TreeExpansionListener != null ? class$javax$swing$event$TreeExpansionListener : (class$javax$swing$event$TreeExpansionListener = class$("javax.swing.event.TreeExpansionListener")), var1);
- }
-
- public void addTreeSelectionListener(TreeSelectionListener var1) {
- super.listenerList.add(class$javax$swing$event$TreeSelectionListener != null ? class$javax$swing$event$TreeSelectionListener : (class$javax$swing$event$TreeSelectionListener = class$("javax.swing.event.TreeSelectionListener")), var1);
- if (super.listenerList.getListenerCount(class$javax$swing$event$TreeSelectionListener != null ? class$javax$swing$event$TreeSelectionListener : (class$javax$swing$event$TreeSelectionListener = class$("javax.swing.event.TreeSelectionListener"))) != 0 && this.selectionRedirector == null) {
- this.selectionRedirector = new TreeSelectionRedirector(this);
- this.selectionModel.addTreeSelectionListener(this.selectionRedirector);
- }
-
- }
-
- public void addTreeWillExpandListener(TreeWillExpandListener var1) {
- super.listenerList.add(class$javax$swing$event$TreeWillExpandListener != null ? class$javax$swing$event$TreeWillExpandListener : (class$javax$swing$event$TreeWillExpandListener = class$("javax.swing.event.TreeWillExpandListener")), var1);
- }
-
- public void cancelEditing() {
- TreeUI var1 = this.getUI();
- if (var1 != null) {
- var1.cancelEditing(this);
- }
-
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
-
- public void clearSelection() {
- this.getSelectionModel().clearSelection();
- }
-
- protected void clearToggledPaths() {
- this.expandedState.clear();
- }
-
- public void collapsePath(TreePath var1) {
- this.setExpandedState(var1, false);
- }
-
- public void collapseRow(int var1) {
- this.collapsePath(this.getPathForRow(var1));
- }
-
- public String convertValueToText(Object var1, boolean var2, boolean var3, boolean var4, int var5, boolean var6) {
- return var1 != null ? var1.toString() : "";
- }
-
- protected static TreeModel createTreeModel(Object var0) {
- Object var1;
- if (!(var0 instanceof Object[]) && !(var0 instanceof Hashtable) && !(var0 instanceof Vector)) {
- var1 = new DynamicUtilTreeNode("root", var0);
- } else {
- var1 = new DefaultMutableTreeNode("root");
- javax.swing.JTree.DynamicUtilTreeNode.createChildren((DefaultMutableTreeNode)var1, var0);
- }
-
- return new DefaultTreeModel((TreeNode)var1, false);
- }
-
- protected TreeModelListener createTreeModelListener() {
- return new TreeModelHandler(this);
- }
-
- public void expandPath(TreePath var1) {
- TreeModel var2 = this.getModel();
- if (var1 != null && var2 != null && !var2.isLeaf(var1.getLastPathComponent())) {
- this.setExpandedState(var1, true);
- }
-
- }
-
- public void expandRow(int var1) {
- this.expandPath(this.getPathForRow(var1));
- }
-
- public void fireTreeCollapsed(TreePath var1) {
- Object[] var2 = super.listenerList.getListenerList();
- TreeExpansionEvent var3 = null;
-
- for(int var4 = var2.length - 2; var4 >= 0; var4 -= 2) {
- if (var2[var4] == (class$javax$swing$event$TreeExpansionListener != null ? class$javax$swing$event$TreeExpansionListener : (class$javax$swing$event$TreeExpansionListener = class$("javax.swing.event.TreeExpansionListener")))) {
- if (var3 == null) {
- var3 = new TreeExpansionEvent(this, var1);
- }
-
- ((TreeExpansionListener)var2[var4 + 1]).treeCollapsed(var3);
- }
- }
-
- }
-
- public void fireTreeExpanded(TreePath var1) {
- Object[] var2 = super.listenerList.getListenerList();
- TreeExpansionEvent var3 = null;
-
- for(int var4 = var2.length - 2; var4 >= 0; var4 -= 2) {
- if (var2[var4] == (class$javax$swing$event$TreeExpansionListener != null ? class$javax$swing$event$TreeExpansionListener : (class$javax$swing$event$TreeExpansionListener = class$("javax.swing.event.TreeExpansionListener")))) {
- if (var3 == null) {
- var3 = new TreeExpansionEvent(this, var1);
- }
-
- ((TreeExpansionListener)var2[var4 + 1]).treeExpanded(var3);
- }
- }
-
- }
-
- public void fireTreeWillCollapse(TreePath var1) throws ExpandVetoException {
- Object[] var2 = super.listenerList.getListenerList();
- TreeExpansionEvent var3 = null;
-
- for(int var4 = var2.length - 2; var4 >= 0; var4 -= 2) {
- if (var2[var4] == (class$javax$swing$event$TreeWillExpandListener != null ? class$javax$swing$event$TreeWillExpandListener : (class$javax$swing$event$TreeWillExpandListener = class$("javax.swing.event.TreeWillExpandListener")))) {
- if (var3 == null) {
- var3 = new TreeExpansionEvent(this, var1);
- }
-
- ((TreeWillExpandListener)var2[var4 + 1]).treeWillCollapse(var3);
- }
- }
-
- }
-
- public void fireTreeWillExpand(TreePath var1) throws ExpandVetoException {
- Object[] var2 = super.listenerList.getListenerList();
- TreeExpansionEvent var3 = null;
-
- for(int var4 = var2.length - 2; var4 >= 0; var4 -= 2) {
- if (var2[var4] == (class$javax$swing$event$TreeWillExpandListener != null ? class$javax$swing$event$TreeWillExpandListener : (class$javax$swing$event$TreeWillExpandListener = class$("javax.swing.event.TreeWillExpandListener")))) {
- if (var3 == null) {
- var3 = new TreeExpansionEvent(this, var1);
- }
-
- ((TreeWillExpandListener)var2[var4 + 1]).treeWillExpand(var3);
- }
- }
-
- }
-
- protected void fireValueChanged(TreeSelectionEvent var1) {
- Object[] var2 = super.listenerList.getListenerList();
-
- for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
- if (var2[var3] == (class$javax$swing$event$TreeSelectionListener != null ? class$javax$swing$event$TreeSelectionListener : (class$javax$swing$event$TreeSelectionListener = class$("javax.swing.event.TreeSelectionListener")))) {
- ((TreeSelectionListener)var2[var3 + 1]).valueChanged(var1);
- }
- }
-
- }
-
- public AccessibleContext getAccessibleContext() {
- if (super.accessibleContext == null) {
- super.accessibleContext = new AccessibleJTree(this);
- }
-
- return super.accessibleContext;
- }
-
- private Object getArchivableExpandedState() {
- TreeModel var1 = this.getModel();
- if (var1 != null) {
- Enumeration var2 = this.expandedState.keys();
- if (var2 != null) {
- Vector var3 = new Vector();
-
- while(var2.hasMoreElements()) {
- TreePath var4 = (TreePath)var2.nextElement();
-
- int[] var5;
- try {
- var5 = this.getModelIndexsForPath(var4);
- } catch (Error var6) {
- var5 = null;
- }
-
- if (var5 != null) {
- var3.addElement(var5);
- var3.addElement(this.expandedState.get(var4));
- }
- }
-
- return var3;
- }
- }
-
- return null;
- }
-
- public TreeCellEditor getCellEditor() {
- return this.cellEditor;
- }
-
- public TreeCellRenderer getCellRenderer() {
- return this.cellRenderer;
- }
-
- public TreePath getClosestPathForLocation(int var1, int var2) {
- TreeUI var3 = this.getUI();
- return var3 != null ? var3.getClosestPathForLocation(this, var1, var2) : null;
- }
-
- public int getClosestRowForLocation(int var1, int var2) {
- return this.getRowForPath(this.getClosestPathForLocation(var1, var2));
- }
-
- protected static TreeModel getDefaultTreeModel() {
- DefaultMutableTreeNode var0 = new DefaultMutableTreeNode("JTree");
- DefaultMutableTreeNode var1 = new DefaultMutableTreeNode("colors");
- var0.add(var1);
- var1.add(new DefaultMutableTreeNode("blue"));
- var1.add(new DefaultMutableTreeNode("violet"));
- var1.add(new DefaultMutableTreeNode("red"));
- var1.add(new DefaultMutableTreeNode("yellow"));
- var1 = new DefaultMutableTreeNode("sports");
- var0.add(var1);
- var1.add(new DefaultMutableTreeNode("basketball"));
- var1.add(new DefaultMutableTreeNode("soccer"));
- var1.add(new DefaultMutableTreeNode("football"));
- var1.add(new DefaultMutableTreeNode("hockey"));
- var1 = new DefaultMutableTreeNode("food");
- var0.add(var1);
- var1.add(new DefaultMutableTreeNode("hot dogs"));
- var1.add(new DefaultMutableTreeNode("pizza"));
- var1.add(new DefaultMutableTreeNode("ravioli"));
- var1.add(new DefaultMutableTreeNode("bananas"));
- return new DefaultTreeModel(var0);
- }
-
- protected Enumeration getDescendantToggledPaths(TreePath var1) {
- if (var1 == null) {
- return null;
- } else {
- Vector var2 = new Vector();
- Enumeration var3 = this.expandedState.keys();
-
- while(var3.hasMoreElements()) {
- TreePath var4 = (TreePath)var3.nextElement();
- if (var1.isDescendant(var4)) {
- var2.addElement(var4);
- }
- }
-
- return var2.elements();
- }
- }
-
- public TreePath getEditingPath() {
- TreeUI var1 = this.getUI();
- return var1 != null ? var1.getEditingPath(this) : null;
- }
-
- public Enumeration getExpandedDescendants(TreePath var1) {
- if (!this.isExpanded(var1)) {
- return null;
- } else {
- Enumeration var2 = this.expandedState.keys();
- Vector var3 = new Vector();
- if (var2 != null) {
- while(var2.hasMoreElements()) {
- TreePath var4 = (TreePath)var2.nextElement();
- Object var5 = this.expandedState.get(var4);
- if (var5 != null && (Boolean)var5 && var1.isDescendant(var4) && this.isVisible(var4)) {
- var3.addElement(var4);
- }
- }
- }
-
- return var3.elements();
- }
- }
-
- public boolean getInvokesStopCellEditing() {
- return this.invokesStopCellEditing;
- }
-
- public Object getLastSelectedPathComponent() {
- TreePath var1 = this.getSelectionModel().getSelectionPath();
- return var1 != null ? var1.getLastPathComponent() : null;
- }
-
- public TreePath getLeadSelectionPath() {
- return this.getSelectionModel().getLeadSelectionPath();
- }
-
- public int getLeadSelectionRow() {
- return this.getSelectionModel().getLeadSelectionRow();
- }
-
- public int getMaxSelectionRow() {
- return this.getSelectionModel().getMaxSelectionRow();
- }
-
- public int getMinSelectionRow() {
- return this.getSelectionModel().getMinSelectionRow();
- }
-
- public TreeModel getModel() {
- return this.treeModel;
- }
-
- private int[] getModelIndexsForPath(TreePath var1) {
- if (var1 == null) {
- return null;
- } else {
- TreeModel var2 = this.getModel();
- int var3 = var1.getPathCount();
- int[] var4 = new int[var3 - 1];
- Object var5 = var2.getRoot();
-
- for(int var6 = 1; var6 < var3; ++var6) {
- var4[var6 - 1] = var2.getIndexOfChild(var5, var1.getPathComponent(var6));
- var5 = var1.getPathComponent(var6);
- if (var4[var6 - 1] < 0) {
- return null;
- }
- }
-
- return var4;
- }
- }
-
- protected TreePath[] getPathBetweenRows(int var1, int var2) {
- TreeUI var5 = this.getUI();
- int var3 = Math.min(var1, var2);
- int var4 = Math.max(var1, var2);
- if (var5 == null) {
- return null;
- } else {
- TreePath[] var6 = new TreePath[var4 - var3 + 1];
-
- for(int var7 = var3; var7 <= var4; ++var7) {
- var6[var7 - var3] = var5.getPathForRow(this, var7);
- }
-
- return var6;
- }
- }
-
- public Rectangle getPathBounds(TreePath var1) {
- TreeUI var2 = this.getUI();
- return var2 != null ? var2.getPathBounds(this, var1) : null;
- }
-
- private TreePath getPathForIndexs(int[] var1) {
- if (var1 == null) {
- return null;
- } else {
- TreeModel var2 = this.getModel();
- if (var2 == null) {
- return null;
- } else {
- int var3 = var1.length;
- Object var4 = var2.getRoot();
- TreePath var5 = new TreePath(var4);
-
- for(int var6 = 0; var6 < var3; ++var6) {
- var4 = var2.getChild(var4, var1[var6]);
- if (var4 == null) {
- return null;
- }
-
- var5 = var5.pathByAddingChild(var4);
- }
-
- return var5;
- }
- }
- }
-
- public TreePath getPathForLocation(int var1, int var2) {
- TreePath var3 = this.getClosestPathForLocation(var1, var2);
- if (var3 != null) {
- Rectangle var4 = this.getPathBounds(var3);
- if (var1 >= var4.x && var1 < var4.x + var4.width && var2 >= var4.y && var2 < var4.y + var4.height) {
- return var3;
- }
- }
-
- return null;
- }
-
- public TreePath getPathForRow(int var1) {
- TreeUI var2 = this.getUI();
- return var2 != null ? var2.getPathForRow(this, var1) : null;
- }
-
- public Dimension getPreferredScrollableViewportSize() {
- int var1 = ((JComponent)this).getPreferredSize().width;
- int var2 = this.getVisibleRowCount();
- int var3;
- if (this.isFixedRowHeight()) {
- var3 = var2 * this.getRowHeight();
- } else {
- TreeUI var4 = this.getUI();
- if (var4 != null && var4.getRowCount(this) > 0) {
- var3 = this.getRowBounds(0).height * var2;
- } else {
- var3 = 16 * var2;
- }
- }
-
- return new Dimension(var1, var3);
- }
-
- public Rectangle getRowBounds(int var1) {
- this.getPathForRow(var1);
- return this.getPathBounds(this.getPathForRow(var1));
- }
-
- public int getRowCount() {
- TreeUI var1 = this.getUI();
- return var1 != null ? var1.getRowCount(this) : 0;
- }
-
- public int getRowForLocation(int var1, int var2) {
- return this.getRowForPath(this.getPathForLocation(var1, var2));
- }
-
- public int getRowForPath(TreePath var1) {
- TreeUI var2 = this.getUI();
- return var2 != null ? var2.getRowForPath(this, var1) : -1;
- }
-
- public int getRowHeight() {
- return this.rowHeight;
- }
-
- public int getScrollableBlockIncrement(Rectangle var1, int var2, int var3) {
- return var2 == 1 ? var1.height : var1.width;
- }
-
- public boolean getScrollableTracksViewportHeight() {
- if (((Component)this).getParent() instanceof JViewport) {
- return ((JViewport)((Component)this).getParent()).getHeight() > ((JComponent)this).getPreferredSize().height;
- } else {
- return false;
- }
- }
-
- public boolean getScrollableTracksViewportWidth() {
- if (((Component)this).getParent() instanceof JViewport) {
- return ((JViewport)((Component)this).getParent()).getWidth() > ((JComponent)this).getPreferredSize().width;
- } else {
- return false;
- }
- }
-
- public int getScrollableUnitIncrement(Rectangle var1, int var2, int var3) {
- if (var2 == 1) {
- int var5 = this.getClosestRowForLocation(0, var1.y);
- if (var5 != -1) {
- Rectangle var4 = this.getRowBounds(var5);
- if (var4.y != var1.y) {
- if (var3 < 0) {
- return var1.y - var4.y;
- }
-
- return var4.y + var4.height - var1.y;
- }
-
- if (var3 >= 0) {
- return var4.height;
- }
-
- if (var5 != 0) {
- var4 = this.getRowBounds(var5 - 1);
- return var4.height;
- }
- }
-
- return 0;
- } else {
- return 4;
- }
- }
-
- public boolean getScrollsOnExpand() {
- return this.scrollsOnExpand;
- }
-
- public int getSelectionCount() {
- return this.selectionModel.getSelectionCount();
- }
-
- public TreeSelectionModel getSelectionModel() {
- return this.selectionModel;
- }
-
- public TreePath getSelectionPath() {
- return this.getSelectionModel().getSelectionPath();
- }
-
- public TreePath[] getSelectionPaths() {
- return this.getSelectionModel().getSelectionPaths();
- }
-
- public int[] getSelectionRows() {
- return this.getSelectionModel().getSelectionRows();
- }
-
- public boolean getShowsRootHandles() {
- return this.showsRootHandles;
- }
-
- public String getToolTipText(MouseEvent var1) {
- if (var1 != null) {
- Point var2 = var1.getPoint();
- int var3 = this.getRowForLocation(var2.x, var2.y);
- TreeCellRenderer var4 = this.getCellRenderer();
- if (var3 != -1 && var4 != null) {
- TreePath var5 = this.getPathForRow(var3);
- Object var6 = var5.getLastPathComponent();
- Component var7 = var4.getTreeCellRendererComponent(this, var6, this.isRowSelected(var3), this.isExpanded(var3), this.getModel().isLeaf(var6), var3, true);
- if (var7 instanceof JComponent) {
- Rectangle var9 = this.getPathBounds(var5);
- var2.translate(-var9.x, -var9.y);
- MouseEvent var8 = new MouseEvent(var7, ((AWTEvent)var1).getID(), ((InputEvent)var1).getWhen(), ((InputEvent)var1).getModifiers(), var2.x, var2.y, var1.getClickCount(), var1.isPopupTrigger());
- return ((JComponent)var7).getToolTipText(var8);
- }
- }
- }
-
- return null;
- }
-
- public TreeUI getUI() {
- return (TreeUI)super.ui;
- }
-
- public String getUIClassID() {
- return "TreeUI";
- }
-
- public int getVisibleRowCount() {
- return this.visibleRowCount;
- }
-
- public boolean hasBeenExpanded(TreePath var1) {
- return var1 != null && this.expandedState.get(var1) != null;
- }
-
- public boolean isCollapsed(int var1) {
- return this.isExpanded(var1) ^ true;
- }
-
- public boolean isCollapsed(TreePath var1) {
- return this.isExpanded(var1) ^ true;
- }
-
- public boolean isEditable() {
- return this.editable;
- }
-
- public boolean isEditing() {
- TreeUI var1 = this.getUI();
- return var1 != null ? var1.isEditing(this) : false;
- }
-
- public boolean isExpanded(int var1) {
- TreeUI var2 = this.getUI();
- if (var2 != null) {
- TreePath var3 = var2.getPathForRow(this, var1);
- if (var3 != null) {
- return this.isExpanded(var3);
- }
- }
-
- return false;
- }
-
- public boolean isExpanded(TreePath var1) {
- if (var1 == null) {
- return false;
- } else {
- Object var2 = this.expandedState.get(var1);
- if (var2 != null && (Boolean)var2) {
- TreePath var3 = var1.getParentPath();
- return var3 != null ? this.isExpanded(var3) : true;
- } else {
- return false;
- }
- }
- }
-
- public boolean isFixedRowHeight() {
- return this.rowHeight > 0;
- }
-
- public boolean isLargeModel() {
- return this.largeModel;
- }
-
- public boolean isPathEditable(TreePath var1) {
- return this.isEditable();
- }
-
- public boolean isPathSelected(TreePath var1) {
- return this.getSelectionModel().isPathSelected(var1);
- }
-
- public boolean isRootVisible() {
- return this.rootVisible;
- }
-
- public boolean isRowSelected(int var1) {
- return this.getSelectionModel().isRowSelected(var1);
- }
-
- public boolean isSelectionEmpty() {
- return this.getSelectionModel().isSelectionEmpty();
- }
-
- public boolean isVisible(TreePath var1) {
- if (var1 != null) {
- TreePath var2 = var1.getParentPath();
- return var2 != null ? this.isExpanded(var2) : true;
- } else {
- return false;
- }
- }
-
- public void makeVisible(TreePath var1) {
- if (var1 != null) {
- TreePath var2 = var1.getParentPath();
- if (var2 != null) {
- this.expandPath(var2);
- }
- }
-
- }
-
- protected String paramString() {
- String var1 = this.rootVisible ? "true" : "false";
- String var2 = this.showsRootHandles ? "true" : "false";
- String var3 = this.editable ? "true" : "false";
- String var4 = this.largeModel ? "true" : "false";
- String var5 = this.invokesStopCellEditing ? "true" : "false";
- String var6 = this.scrollsOnExpand ? "true" : "false";
- return super.paramString() + ",editable=" + var3 + ",invokesStopCellEditing=" + var5 + ",largeModel=" + var4 + ",rootVisible=" + var1 + ",rowHeight=" + this.rowHeight + ",scrollsOnExpand=" + var6 + ",showsRootHandles=" + var2 + ",toggleClickCount=" + this.toggleClickCount + ",visibleRowCount=" + this.visibleRowCount;
- }
-
- private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
- var1.defaultReadObject();
- this.expandedState = new Hashtable();
- this.expandedStack = new Stack();
- Vector var2 = (Vector)var1.readObject();
- int var3 = 0;
- int var4 = var2.size();
- if (var3 < var4 && var2.elementAt(var3).equals("cellRenderer")) {
- ++var3;
- this.cellRenderer = (TreeCellRenderer)var2.elementAt(var3);
- ++var3;
- }
-
- if (var3 < var4 && var2.elementAt(var3).equals("cellEditor")) {
- ++var3;
- this.cellEditor = (TreeCellEditor)var2.elementAt(var3);
- ++var3;
- }
-
- if (var3 < var4 && var2.elementAt(var3).equals("treeModel")) {
- ++var3;
- this.treeModel = (TreeModel)var2.elementAt(var3);
- ++var3;
- }
-
- if (var3 < var4 && var2.elementAt(var3).equals("selectionModel")) {
- ++var3;
- this.selectionModel = (TreeSelectionModel)var2.elementAt(var3);
- ++var3;
- }
-
- if (var3 < var4 && var2.elementAt(var3).equals("expandedState")) {
- ++var3;
- this.unarchiveExpandedState(var2.elementAt(var3));
- ++var3;
- }
-
- if (super.listenerList.getListenerCount(class$javax$swing$event$TreeSelectionListener != null ? class$javax$swing$event$TreeSelectionListener : (class$javax$swing$event$TreeSelectionListener = class$("javax.swing.event.TreeSelectionListener"))) != 0) {
- this.selectionRedirector = new TreeSelectionRedirector(this);
- this.selectionModel.addTreeSelectionListener(this.selectionRedirector);
- }
-
- if (this.treeModel != null) {
- this.treeModelListener = this.createTreeModelListener();
- if (this.treeModelListener != null) {
- this.treeModel.addTreeModelListener(this.treeModelListener);
- }
- }
-
- }
-
- protected void removeDescendantToggledPaths(Enumeration var1) {
- if (var1 != null) {
- while(var1.hasMoreElements()) {
- Enumeration var2 = this.getDescendantToggledPaths((TreePath)var1.nextElement());
- if (var2 != null) {
- while(var2.hasMoreElements()) {
- this.expandedState.remove(var2.nextElement());
- }
- }
- }
- }
-
- }
-
- public void removeSelectionInterval(int var1, int var2) {
- TreePath[] var3 = this.getPathBetweenRows(var1, var2);
- this.getSelectionModel().removeSelectionPaths(var3);
- }
-
- public void removeSelectionPath(TreePath var1) {
- this.getSelectionModel().removeSelectionPath(var1);
- }
-
- public void removeSelectionPaths(TreePath[] var1) {
- this.getSelectionModel().removeSelectionPaths(var1);
- }
-
- public void removeSelectionRow(int var1) {
- int[] var2 = new int[]{var1};
- this.removeSelectionRows(var2);
- }
-
- public void removeSelectionRows(int[] var1) {
- TreeUI var2 = this.getUI();
- if (var2 != null && var1 != null) {
- int var3 = var1.length;
- TreePath[] var4 = new TreePath[var3];
-
- for(int var5 = 0; var5 < var3; ++var5) {
- var4[var5] = var2.getPathForRow(this, var1[var5]);
- }
-
- this.removeSelectionPaths(var4);
- }
-
- }
-
- public void removeTreeExpansionListener(TreeExpansionListener var1) {
- super.listenerList.remove(class$javax$swing$event$TreeExpansionListener != null ? class$javax$swing$event$TreeExpansionListener : (class$javax$swing$event$TreeExpansionListener = class$("javax.swing.event.TreeExpansionListener")), var1);
- }
-
- public void removeTreeSelectionListener(TreeSelectionListener var1) {
- super.listenerList.remove(class$javax$swing$event$TreeSelectionListener != null ? class$javax$swing$event$TreeSelectionListener : (class$javax$swing$event$TreeSelectionListener = class$("javax.swing.event.TreeSelectionListener")), var1);
- if (super.listenerList.getListenerCount(class$javax$swing$event$TreeSelectionListener != null ? class$javax$swing$event$TreeSelectionListener : (class$javax$swing$event$TreeSelectionListener = class$("javax.swing.event.TreeSelectionListener"))) == 0 && this.selectionRedirector != null) {
- this.selectionModel.removeTreeSelectionListener(this.selectionRedirector);
- this.selectionRedirector = null;
- }
-
- }
-
- public void removeTreeWillExpandListener(TreeWillExpandListener var1) {
- super.listenerList.remove(class$javax$swing$event$TreeWillExpandListener != null ? class$javax$swing$event$TreeWillExpandListener : (class$javax$swing$event$TreeWillExpandListener = class$("javax.swing.event.TreeWillExpandListener")), var1);
- }
-
- public void scrollPathToVisible(TreePath var1) {
- if (var1 != null) {
- this.makeVisible(var1);
- Rectangle var2 = this.getPathBounds(var1);
- if (var2 != null) {
- ((JComponent)this).scrollRectToVisible(var2);
- if (super.accessibleContext != null) {
- ((AccessibleJTree)super.accessibleContext).fireVisibleDataPropertyChange();
- }
- }
- }
-
- }
-
- public void scrollRowToVisible(int var1) {
- this.scrollPathToVisible(this.getPathForRow(var1));
- }
-
- public void setCellEditor(TreeCellEditor var1) {
- TreeCellEditor var2 = this.cellEditor;
- this.cellEditor = var1;
- ((JComponent)this).firePropertyChange("cellEditor", var2, var1);
- ((Container)this).invalidate();
- }
-
- public void setCellRenderer(TreeCellRenderer var1) {
- TreeCellRenderer var2 = this.cellRenderer;
- this.cellRenderer = var1;
- ((JComponent)this).firePropertyChange("cellRenderer", var2, this.cellRenderer);
- ((Container)this).invalidate();
- }
-
- public void setEditable(boolean var1) {
- boolean var2 = this.editable;
- this.editable = var1;
- ((JComponent)this).firePropertyChange("editable", var2, var1);
- if (super.accessibleContext != null) {
- super.accessibleContext.firePropertyChange("AccessibleState", var2 ? AccessibleState.EDITABLE : null, var1 ? AccessibleState.EDITABLE : null);
- }
-
- }
-
- protected void setExpandedState(TreePath var1, boolean var2) {
- if (var1 != null) {
- TreePath var4 = var1.getParentPath();
- Stack var3;
- if (this.expandedStack.size() == 0) {
- var3 = new Stack();
- } else {
- var3 = (Stack)this.expandedStack.pop();
- }
-
- try {
- label181:
- while(true) {
- if (var4 == null) {
- int var7 = ((Vector)var3).size() - 1;
-
- while(true) {
- if (var7 < 0) {
- break label181;
- }
-
- var4 = (TreePath)var3.pop();
- if (!this.isExpanded(var4)) {
- try {
- this.fireTreeWillExpand(var4);
- } catch (ExpandVetoException var14) {
- return;
- }
-
- this.expandedState.put(var4, Boolean.TRUE);
- this.fireTreeExpanded(var4);
- if (super.accessibleContext != null) {
- ((AccessibleJTree)super.accessibleContext).fireVisibleDataPropertyChange();
- }
- }
-
- --var7;
- }
- }
-
- if (this.isExpanded(var4)) {
- var4 = null;
- } else {
- var3.push(var4);
- var4 = var4.getParentPath();
- }
- }
- } finally {
- if (this.expandedStack.size() < TEMP_STACK_SIZE) {
- ((Vector)var3).removeAllElements();
- this.expandedStack.push(var3);
- }
-
- }
-
- if (!var2) {
- Object var5 = this.expandedState.get(var1);
- if (var5 != null && (Boolean)var5) {
- try {
- this.fireTreeWillCollapse(var1);
- } catch (ExpandVetoException var13) {
- return;
- }
-
- this.expandedState.put(var1, Boolean.FALSE);
- this.fireTreeCollapsed(var1);
- if (super.accessibleContext != null) {
- ((AccessibleJTree)super.accessibleContext).fireVisibleDataPropertyChange();
- }
- }
- } else {
- Object var17 = this.expandedState.get(var1);
- if (var17 == null || !(Boolean)var17) {
- try {
- this.fireTreeWillExpand(var1);
- } catch (ExpandVetoException var12) {
- return;
- }
-
- this.expandedState.put(var1, Boolean.TRUE);
- this.fireTreeExpanded(var1);
- if (super.accessibleContext != null) {
- ((AccessibleJTree)super.accessibleContext).fireVisibleDataPropertyChange();
- }
- }
- }
- }
-
- }
-
- public void setInvokesStopCellEditing(boolean var1) {
- boolean var2 = this.invokesStopCellEditing;
- this.invokesStopCellEditing = var1;
- ((JComponent)this).firePropertyChange("messagesStopCellEditing", var2, var1);
- }
-
- public void setLargeModel(boolean var1) {
- boolean var2 = this.largeModel;
- this.largeModel = var1;
- ((JComponent)this).firePropertyChange("largeModel", var2, var1);
- }
-
- public void setModel(TreeModel var1) {
- TreeModel var2 = this.treeModel;
- if (this.treeModel != null && this.treeModelListener != null) {
- this.treeModel.removeTreeModelListener(this.treeModelListener);
- }
-
- if (super.accessibleContext != null) {
- if (this.treeModel != null) {
- this.treeModel.removeTreeModelListener((TreeModelListener)super.accessibleContext);
- }
-
- if (var1 != null) {
- var1.addTreeModelListener((TreeModelListener)super.accessibleContext);
- }
- }
-
- this.treeModel = var1;
- this.clearToggledPaths();
- if (this.treeModel != null) {
- if (this.treeModelListener == null) {
- this.treeModelListener = this.createTreeModelListener();
- }
-
- if (this.treeModelListener != null) {
- this.treeModel.addTreeModelListener(this.treeModelListener);
- }
-
- if (!this.treeModel.isLeaf(this.treeModel.getRoot())) {
- this.expandedState.put(new TreePath(this.treeModel.getRoot()), Boolean.TRUE);
- }
- }
-
- ((JComponent)this).firePropertyChange("treeModel", var2, this.treeModel);
- ((Container)this).invalidate();
- }
-
- public void setRootVisible(boolean var1) {
- boolean var2 = this.rootVisible;
- this.rootVisible = var1;
- ((JComponent)this).firePropertyChange("rootVisible", var2, this.rootVisible);
- if (super.accessibleContext != null) {
- ((AccessibleJTree)super.accessibleContext).fireVisibleDataPropertyChange();
- }
-
- }
-
- public void setRowHeight(int var1) {
- int var2 = this.rowHeight;
- this.rowHeight = var1;
- ((JComponent)this).firePropertyChange("rowHeight", var2, this.rowHeight);
- ((Container)this).invalidate();
- }
-
- public void setScrollsOnExpand(boolean var1) {
- boolean var2 = this.scrollsOnExpand;
- this.scrollsOnExpand = var1;
- ((JComponent)this).firePropertyChange("scrollsOnExpand", var2, var1);
- }
-
- public void setSelectionInterval(int var1, int var2) {
- TreePath[] var3 = this.getPathBetweenRows(var1, var2);
- this.getSelectionModel().setSelectionPaths(var3);
- }
-
- public void setSelectionModel(TreeSelectionModel var1) {
- if (var1 == null) {
- var1 = javax.swing.JTree.EmptySelectionModel.sharedInstance();
- }
-
- TreeSelectionModel var2 = this.selectionModel;
- if (this.selectionModel != null && this.selectionRedirector != null) {
- this.selectionModel.removeTreeSelectionListener(this.selectionRedirector);
- }
-
- if (super.accessibleContext != null) {
- this.selectionModel.removeTreeSelectionListener((TreeSelectionListener)super.accessibleContext);
- ((TreeSelectionModel)var1).addTreeSelectionListener((TreeSelectionListener)super.accessibleContext);
- }
-
- this.selectionModel = (TreeSelectionModel)var1;
- if (this.selectionRedirector != null) {
- this.selectionModel.addTreeSelectionListener(this.selectionRedirector);
- }
-
- ((JComponent)this).firePropertyChange("selectionModel", var2, this.selectionModel);
- if (super.accessibleContext != null) {
- super.accessibleContext.firePropertyChange("AccessibleSelection", new Boolean(false), new Boolean(true));
- }
-
- }
-
- public void setSelectionPath(TreePath var1) {
- this.makeVisible(var1);
- this.getSelectionModel().setSelectionPath(var1);
- }
-
- public void setSelectionPaths(TreePath[] var1) {
- if (var1 != null) {
- for(int var2 = var1.length - 1; var2 >= 0; --var2) {
- this.makeVisible(var1[var2]);
- }
- }
-
- this.getSelectionModel().setSelectionPaths(var1);
- }
-
- public void setSelectionRow(int var1) {
- int[] var2 = new int[]{var1};
- this.setSelectionRows(var2);
- }
-
- public void setSelectionRows(int[] var1) {
- TreeUI var2 = this.getUI();
- if (var2 != null && var1 != null) {
- int var3 = var1.length;
- TreePath[] var4 = new TreePath[var3];
-
- for(int var5 = 0; var5 < var3; ++var5) {
- var4[var5] = var2.getPathForRow(this, var1[var5]);
- }
-
- this.setSelectionPaths(var4);
- }
-
- }
-
- public void setShowsRootHandles(boolean var1) {
- boolean var2 = this.showsRootHandles;
- TreeModel var3 = this.getModel();
- this.showsRootHandles = var1;
- ((JComponent)this).firePropertyChange("showsRootHandles", var2, this.showsRootHandles);
- if (super.accessibleContext != null) {
- ((AccessibleJTree)super.accessibleContext).fireVisibleDataPropertyChange();
- }
-
- if (var3 != null) {
- this.expandPath(new TreePath(var3.getRoot()));
- }
-
- ((Container)this).invalidate();
- }
-
- public void setUI(TreeUI var1) {
- if ((TreeUI)super.ui != var1) {
- super.setUI(var1);
- ((Component)this).repaint();
- }
-
- }
-
- public void setVisibleRowCount(int var1) {
- int var2 = this.visibleRowCount;
- this.visibleRowCount = var1;
- ((JComponent)this).firePropertyChange("visibleRowCount", var2, this.visibleRowCount);
- ((Container)this).invalidate();
- if (super.accessibleContext != null) {
- ((AccessibleJTree)super.accessibleContext).fireVisibleDataPropertyChange();
- }
-
- }
-
- public void startEditingAtPath(TreePath var1) {
- TreeUI var2 = this.getUI();
- if (var2 != null) {
- var2.startEditingAtPath(this, var1);
- }
-
- }
-
- public boolean stopEditing() {
- TreeUI var1 = this.getUI();
- return var1 != null ? var1.stopEditing(this) : false;
- }
-
- public void treeDidChange() {
- ((JComponent)this).revalidate();
- ((Component)this).repaint();
- }
-
- private void unarchiveExpandedState(Object var1) {
- if (var1 instanceof Vector) {
- Vector var2 = (Vector)var1;
-
- for(int var3 = var2.size() - 1; var3 >= 0; --var3) {
- Boolean var4 = (Boolean)var2.elementAt(var3--);
-
- try {
- TreePath var5 = this.getPathForIndexs((int[])var2.elementAt(var3));
- if (var5 != null) {
- this.expandedState.put(var5, var4);
- }
- } catch (Error var6) {
- }
- }
- }
-
- }
-
- public void updateUI() {
- this.setUI((TreeUI)UIManager.getUI(this));
- ((Container)this).invalidate();
- }
-
- private void writeObject(ObjectOutputStream var1) throws IOException {
- Vector var2 = new Vector();
- var1.defaultWriteObject();
- if (this.cellRenderer != null && this.cellRenderer instanceof Serializable) {
- var2.addElement("cellRenderer");
- var2.addElement(this.cellRenderer);
- }
-
- if (this.cellEditor != null && this.cellEditor instanceof Serializable) {
- var2.addElement("cellEditor");
- var2.addElement(this.cellEditor);
- }
-
- if (this.treeModel != null && this.treeModel instanceof Serializable) {
- var2.addElement("treeModel");
- var2.addElement(this.treeModel);
- }
-
- if (this.selectionModel != null && this.selectionModel instanceof Serializable) {
- var2.addElement("selectionModel");
- var2.addElement(this.selectionModel);
- }
-
- Object var3 = this.getArchivableExpandedState();
- if (var3 != null) {
- var2.addElement("expandedState");
- var2.addElement(var3);
- }
-
- var1.writeObject(var2);
- if (super.ui != null && this.getUIClassID().equals("TreeUI")) {
- super.ui.installUI(this);
- }
-
- }
- }
-